from django import template

register = template.Library()

from django.utils.html import format_html

# 自定义标签 解决缩进问题
@register.simple_tag
def sj(res):
    num=res.count(',')-1
    res=num*'|----'
    return format_html(res)


# 自定义 分页 标签
@register.simple_tag
def ShowPages(count, request):
    p=int(request.GET.get('p',1))
    begin=p-4
    end=p+5


    if p<5:
        begin=1
        end=10
    if p>(count-5):
        begin=count-9
        end=count
    if count<10:
        begin=1
        end=count


    # 获取页面上的其它搜索条件 &types=username&keywords=da
    data=request.GET.dict()
    data.pop('p',None)
    res=''
    for k,v in data.items():
        res+='&'+k+'='+v


    ps=''
    # 首页
    ps += '<li><a href="?p=1">首页</a></li>'
    #上一页
    if p>1:
        ps+='<li><a href="?p='+str(p-1)+res+'">«</a></li>'
    for x in range(begin,end+1):
        if p==x:
            ps+='<li class="am-active"><a href="?p='+str(x)+res+'">'+str(x)+'</a></li>'
        else:
            ps+='<li><a href="?p='+str(x)+res+'">'+str(x)+'</a></li>'
    if p<count:
        ps += '<li><a href="?p='+str(p+1)+res+'">»</a></li>'

    #尾页
    ps+='<li><a href="?p='+str(count)+'">尾页</a></li>'
    return format_html(ps)

